package controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.logging.Logger;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

import model.AreaModel;
import model.AsistenteModel;
import model.BienModel;
import model.Detalle_Area_PersonaModel;
import model.JefeModel;
import model.PersonaModel;
import model.UsuarioModel;
import entidad.Area;
import entidad.AsistenteAdministrativo;
import entidad.Bien;
import entidad.Detalle_Area_Persona;
import entidad.JefeAdministrativo;
import entidad.Persona;
import entidad.Prueba;
import entidad.Usuario;
import view.JDBuscarAsistente;
import view.JDBuscarBien;
import view.JDBuscarBien02;
import view.JDBuscarBien03;
import view.JDBuscarBien04;
import view.JDBuscarJefe;
import view.JDBuscarUsuario;
import view.JFrmAsignacionBien;
import view.JFrmBien;
import view.JFrmJefe;
import view.JFrmPecosaAsignacion;
import view.JFrmPecosaInterno;

public class JDBuscaBienController04 implements ActionListener,MouseListener {
	private JDBuscarBien04 jdBuscaBien;
	private JFrmPecosaInterno jfrmAsignacion ;
	private BienModel bienModel;
	private AreaModel areaModel;
	private PersonaModel personaModel;
	private ImageIcon foto;
	private Detalle_Area_PersonaModel detalle_area_personaModel;
	
	public JFrmPecosaInterno getJfrmAsignacion() {
		return jfrmAsignacion;
	}

	public void setJfrmAsignacion(JFrmPecosaInterno jfrmAsignacion) {
		this.jfrmAsignacion = jfrmAsignacion;
	}

	public JDBuscaBienController04(JDBuscarBien04 jdBuscaBien) {
			this.jdBuscaBien=jdBuscaBien;
			areaModel= new AreaModel();
			bienModel = new BienModel();
			personaModel= new PersonaModel();
			detalle_area_personaModel=new Detalle_Area_PersonaModel();
		}

	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==jdBuscaBien.btnCapturar){
			capturar();
		}
	}

	private void capturar() {
		String codigo =jdBuscaBien.txtCodigo.getText().trim();
		if(codigo.length()!=0){
			Bien persona=bienModel.buscaBien(codigo);
			jfrmAsignacion.txtCodigoBien.setText(persona.getIdBien());
			jfrmAsignacion.txtDescripcion.setText(persona.getDescripcionBien());
			jfrmAsignacion.txtMaterial.setText(persona.getMaterialBien());
			jfrmAsignacion.txtValor.setText(String.valueOf(persona.getValor()));
		
			
			
			jdBuscaBien.dispose();
		}else{
			JOptionPane.showMessageDialog(jdBuscaBien, "Elija de la lista");
		}
		
	}
	
	public void llenarTabla(){
		DefaultTableModel modelo = (DefaultTableModel) jdBuscaBien.table.getModel();
		
		int filas = jdBuscaBien.table.getRowCount();
		for (int i = 0; filas > i; i++) {
			modelo.removeRow(0);
		}
		
		Persona p = Prueba.getPersona();
		ArrayList<Bien> lista=bienModel.listaBienDeUsuario(p.getIdPersona());
		for (Bien c: lista) {
			
			String nom="";
			ArrayList<Area>listaArea01 = areaModel.listaArea();
			Detalle_Area_Persona de= detalle_area_personaModel.buscadetalleAreaPersona(p.getIdPersona());
			for (Area area:listaArea01) {
				if(area.getIdArea().equals(de.getIdArea())){
				 nom= area.getDescripcionArea();
				}
				
			}
			Object fila[] = { c.getIdBien(), c.getDescripcionBien(), c.getMaterialBien(),
					c.getProcedenciaBien(), nom,
					c.getValor()};
			modelo.addRow(fila);
		}
	}

	@Override
	public void mouseClicked(MouseEvent arg0) {
		if (jdBuscaBien.table.getSelectedRows().length > 0) {
			int row = jdBuscaBien.table.getSelectedRow();
			String codigo =(String) jdBuscaBien.table.getValueAt(row, 0);

			jdBuscaBien.txtCodigo.setText(codigo);
		}
		
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseExited(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mousePressed(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseReleased(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
	

}
